\section{Tech Preview}

This guide highlights the initial availability of \OHPC{} packages targeted
for use on 64-bit ARM-based architectures. This collection is being provided as
a {\bf Tech Preview} release initially, as there are some known issues around
provisioning and a subset of development packages. A running log of errata and
fixes can be found at the
\href{https://github.com/openhpc/ohpc/wiki/ARM-Tech-Preview}{\color{blue}{ARM Tech Preview Wiki}}.

The guide follows the general installation steps laid out in other companion
\OHPC{} recipes.  However, the provisioning steps as outlined with Warewulf
(most of the steps in \S~\ref{sec:add_provisioning} thru
\ref{sec:boot_computes}) are not directly usable without additional
modification to the PXE boot process.  Consequently, users interested in
leveraging packages from this Tech Preview are encouraged to enable the repo
(see \S~\ref{sec:enable_repo}) and install desired development
components (\S~\ref{sec:install_dev}) on top of systems were the underlying
base OS is pre-installed. In addition, if multiple nodes are available, the
\rms{} resource manager can be used to schedule resources. Future \OHPC{} releases
will expand on this tech preview to include validated recipes for a bare-metal
cluster install. \\

\noindent Known Package Issues: 
\begin{itemize*}

\item GSL: a small subset of tests performed with the GSL library failed precision
related tests. This is currently attributed to the fact that the tests included
in GSL are tuned for x86 which does 80-bit extended precision.
\item PAPI: hardware counter availability may not be available depending on the
underlying ARM platform.
\item MPI: The hardware used for validating this Tech Preview release contained
only ethernet. The available MPI stacks reflect this test environment.
\item mpiP: appears to have trouble collecting certain information in certain
scenarios causing it to fail integration tests
\item Hypre and SuperLU-dist: the libraries build, but when linking test
applications unresolved symbols remain
\item Nagios and Ganglia: don't work on SLES-12-SP1 due to missing PHP5
dependencies
\item Lustre: since various ARM platforms require different kernels than the
standard ones provided by the SLES-12-SP1 and CentOS-7.2 distributions, 
building a lustre client that would work for these specific platform 
configurations was beyond the scope of this release.
\item Warewulf: the ARM Standard Base Boot Requirements and Standard Base System
Architecture requires specific UEFI support during the boot process which
doesn't seem to be compatible with the way warewulf currently auto-provisions
worker nodes. There is a work-around, but it requires some manual intervention
during installation and deployment of the nodes.
\end{itemize*}

